package com.duan.pojo;

/**
 * @author db
 * @version 1.0
 * @description AppHttpCodeEnum
 * @since 2023/7/12
 */
public enum AppHttpCodeEnum {
    // 成功
    SUCCESS(200,"操作成功"),
    // 失败
    ERROR(500,"操作失败"),
    // 登录
    NEED_LOGIN(401,"需要登录后操作"),
    NO_OPERATOR_AUTH(403,"无权限操作"),
    SYSTEM_ERROR(500,"出现错误"),
    USERNAME_EXIST(501,"用户名已存在"),
    PHONENUMBER_EXIST(502,"手机号已存在"),
    EMAIL_EXIST(503, "邮箱已存在"),
    REQUIRE_USERNAME(504, "必需填写用户名"),
    LOGIN_ERROR(505,"用户名或密码错误"),

    // 角色
    ROLE_USERED(20001,"此角色已被用户使用"),
    ROLE_INSERT_ERROR(20002,"插入角色失败"),
    ROLE_UPDATE_ERROR(20003,"更新角色失败"),
    ROLE_DELETE_ERROR(20004,"删除角色失败"),

    // 菜单
    MENU_EXIST(30001,"菜单名称已存在"),
    MENU_UPDATE_ERROR(30002,"修改菜单时，上级菜单不能选择自己"),
    MENU_DELETE_ERROR(30003,"含有子菜单，不能删除此此菜单"),
    MENU_INSERT(30004,"菜单增加失败"),

    // 用户
    USER_NAME_EXIST(40001,"用户名已存在"),
    USER_PHONE_EXIST(40002,"手机号已存在"),
    USER_EMILE_EXIST(40003,"邮箱已存在"),
    USER_INSET_ERROR(40004,"增加用户失败"),

    // 用户角色
    USER_ROLE_DELETE_ERROR(50001,"删除用户角色失败"),

    // 用户岗位
    USER_POST_DELETE_ERROR(60001,"删除用户岗位失败"),

    // 部门
    DEPT_EXIST(70001,"部门名称已存在"),
    DEPT_ERROR(70002,"部门停用，不允许新增"),
    DEPT_HAS_CHILDREN(70003,"此部门有子部门，不允许删除"),
    DEPT_EXIST_USER(70004,"此部门关联的有用户，不允许删除"),
    DEPT_PARENT_ERROR(70005,"上级部门不能是自己"),

    // 岗位
    POST_EXIST(80001,"岗位名称已存在"),

    // 参数配置
    CONFIG_SYSTEM_INNER(90001,"系统内部参数不能删除"),
    CONFIG_KEY_EXIST(90002,"参数键名已存在"),
    PARAM_INVALID(90003,"参数校验失败");

    int code;
    String msg;

    AppHttpCodeEnum(int code, String errorMessage){
        this.code = code;
        this.msg = errorMessage;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
